package org.marketlive.entity.account;

/*
(C) Copyright MarketLive. 2006. All rights reserved.
MarketLive is a trademark of MarketLive, Inc.
Warning: This computer program is protected by copyright law and international treaties.
Unauthorized reproduction or distribution of this program, or any portion of it, may result
in severe civil and criminal penalties, and will be prosecuted to the maximum extent
possible under the law.
*/

import org.marketlive.entity.IEntityHome;

/**
 * Provides CRUD operations for PasswordResetInfoHome entities.
 * 
 * @author Kamalpreet Singh
 */
public interface IPasswordResetInfoHome extends IEntityHome {
	
	/**
	 * Finds a unique PasswordResetInfo entity with the given Customer entity. 
	 * 
	 * @param customer
	 * @return
	 */
	IPasswordResetInfo findUniquePasswordResetInfoByCustomer(ICustomer customer);

	/**
	 * Finds a unique PasswordResetInfo entity with the given unique URL key. 
	 * 
	 * @param uniqueURLKey
	 * @return
	 */
	IPasswordResetInfo findUniquePasswordResetInfoByURLKey(String uniqueURLKey);
	
	/**
	 * Creates a given PasswordResetInfo entity in the Persistent Store. 
	 * 
	 * @param passwordResetInfo
	 * @return
	 */
	IPasswordResetInfo createPasswordResetInfo(IPasswordResetInfo passwordResetInfo);
	
	/**
	 * Update the given PasswordResetInfo entity in the Persistent Store. 
	 * 
	 * @param passwordResetInfo
	 * @return
	 */
	IPasswordResetInfo updatePasswordResetInfo(IPasswordResetInfo passwordResetInfo);
}
